home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / ooxdb200.zip / ooxdate.xh < prev    next >
Text File  |  1996-11-13  |  24KB  |  910 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ooxdate.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ooxdate_xh
  11. #define SOM_ooxdate_xh
  12.  
  13. class ooxdate;
  14.  
  15. /*
  16.  * Symbol parentComment is undefined
  17.  */
  18.  
  19. #define ooxdate_MajorVersion 0
  20. #define ooxdate_MinorVersion 0
  21.  
  22. /* C++ SOM defs */
  23. #include <somcls.xh>
  24. #include <somcm.xh>
  25.  
  26. /* C++ parent defs */
  27. #ifndef SOM_ooxfield_xh
  28. #include <ooxfield.xh>
  29. #endif
  30.  
  31. #ifndef ooxdate_API
  32. #define ooxdate_API
  33. /*
  34.  * -- The Class API
  35.  */
  36.  
  37. /*
  38.  * Start of bindings for IDL types
  39.  */
  40.  
  41. class SOMClass;
  42. class SOMObject;
  43.  
  44. /*
  45.  * End of bindings for IDL types.
  46.  */
  47.  
  48. /* A procedure to create the ooxdate Class */
  49. SOMEXTERN SOMClass * SOMLINK ooxdateNewClass(
  50.         integer4 majorVersion,
  51.         integer4 minorVersion);
  52.  
  53. /* The API to the ooxdate class object, and the methods it introduces. */
  54. SOMEXTERN struct ooxdateClassDataStructure {
  55.     SOMClass *classObject;
  56.     somMToken define;
  57.     somMToken get_month;
  58.     somMToken get_day;
  59.     somMToken get_year;
  60.     somMToken put_month;
  61.     somMToken put_day;
  62.     somMToken put_year;
  63. } SOMDLINK ooxdateClassData;
  64. #define _ooxdate ooxdateClassData.classObject
  65.  
  66. /* The API to parentMtabs for ooxdate, and the instance data it introduces. */
  67. SOMEXTERN struct ooxdateCClassDataStructure {
  68.     somMethodTabs parentMtab;
  69.     somDToken              instanceDataToken;
  70. } SOMDLINK ooxdateCClassData;
  71.  
  72. /*
  73.  * -- Typedefs for ooxdate Method Procedures
  74.  */
  75. SOMEXTERN {
  76. typedef void   SOMLINK somTP_ooxdate_define(ooxdate *somSelf, 
  77.         somInitCtrl* ctrl, 
  78.         string name);
  79. typedef somTP_ooxdate_define *somTD_ooxdate_define;
  80. typedef short   SOMLINK somTP_ooxdate_get_month(ooxdate *somSelf);
  81. typedef somTP_ooxdate_get_month *somTD_ooxdate_get_month;
  82. typedef short   SOMLINK somTP_ooxdate_get_day(ooxdate *somSelf);
  83. typedef somTP_ooxdate_get_day *somTD_ooxdate_get_day;
  84. typedef short   SOMLINK somTP_ooxdate_get_year(ooxdate *somSelf);
  85. typedef somTP_ooxdate_get_year *somTD_ooxdate_get_year;
  86. typedef void   SOMLINK somTP_ooxdate_put_month(ooxdate *somSelf, 
  87.         short month);
  88. typedef somTP_ooxdate_put_month *somTD_ooxdate_put_month;
  89. typedef void   SOMLINK somTP_ooxdate_put_day(ooxdate *somSelf, 
  90.         short day);
  91. typedef somTP_ooxdate_put_day *somTD_ooxdate_put_day;
  92. typedef void   SOMLINK somTP_ooxdate_put_year(ooxdate *somSelf, 
  93.         short year);
  94. typedef somTP_ooxdate_put_year *somTD_ooxdate_put_year;
  95.  
  96. /*
  97.  * -- Typedefs for Reintroduced Wrapper Methods
  98.  */
  99. typedef string   SOMLINK somTP_ooxdate_get_name(ooxdate *somSelf);
  100. typedef somTP_ooxdate_get_name *somTD_ooxdate_get_name;
  101. typedef string   SOMLINK somTP_ooxdate_get(ooxdate *somSelf);
  102. typedef somTP_ooxdate_get *somTD_ooxdate_get;
  103. typedef long   SOMLINK somTP_ooxdate_put(ooxdate *somSelf, 
  104.         string datum);
  105. typedef somTP_ooxdate_put *somTD_ooxdate_put;
  106. typedef char   SOMLINK somTP_ooxdate_get_type(ooxdate *somSelf);
  107. typedef somTP_ooxdate_get_type *somTD_ooxdate_get_type;
  108. typedef short   SOMLINK somTP_ooxdate_get_length(ooxdate *somSelf);
  109. typedef somTP_ooxdate_get_length *somTD_ooxdate_get_length;
  110. typedef short   SOMLINK somTP_ooxdate_get_dec_point(ooxdate *somSelf);
  111. typedef somTP_ooxdate_get_dec_point *somTD_ooxdate_get_dec_point;
  112. typedef void   SOMLINK somTP_ooxdate_somDefaultInit(ooxdate *somSelf, 
  113.         som3InitCtrl* ctrl);
  114. typedef somTP_ooxdate_somDefaultInit *somTD_ooxdate_somDefaultInit;
  115. typedef void   SOMLINK somTP_ooxdate_somUninit(ooxdate *somSelf);
  116. typedef somTP_ooxdate_somUninit *somTD_ooxdate_somUninit;
  117. typedef void   SOMLINK somTP_ooxdate_somDestruct(ooxdate *somSelf, 
  118.         octet doFree, 
  119.         som3DestructCtrl* ctrl);
  120. typedef somTP_ooxdate_somDestruct *somTD_ooxdate_somDestruct;
  121. typedef void   SOMLINK somTP_ooxdate_somDefaultCopyInit(ooxdate *somSelf, 
  122.         som3InitCtrl* ctrl, 
  123.         SOMObject* fromObj);
  124. typedef somTP_ooxdate_somDefaultCopyInit *somTD_ooxdate_somDefaultCopyInit;
  125. typedef ooxdate*   SOMLINK somTP_ooxdate_somDefaultAssign(ooxdate *somSelf, 
  126.         som3AssignCtrl* ctrl, 
  127.         SOMObject* fromObj);
  128. typedef somTP_ooxdate_somDefaultAssign *somTD_ooxdate_somDefaultAssign;
  129. typedef void   SOMLINK somTP_ooxdate_somDefaultConstCopyInit(ooxdate *somSelf, 
  130.         som3InitCtrl* ctrl, 
  131.         SOMObject* fromObj);
  132. typedef somTP_ooxdate_somDefaultConstCopyInit *somTD_ooxdate_somDefaultConstCopyInit;
  133. typedef void   SOMLINK somTP_ooxdate_somDefaultVCopyInit(ooxdate *somSelf, 
  134.         som3InitCtrl* ctrl, 
  135.         SOMObject* fromObj);
  136. typedef somTP_ooxdate_somDefaultVCopyInit *somTD_ooxdate_somDefaultVCopyInit;
  137. typedef void   SOMLINK somTP_ooxdate_somDefaultConstVCopyInit(ooxdate *somSelf, 
  138.         som3InitCtrl* ctrl, 
  139.         SOMObject* fromObj);
  140. typedef somTP_ooxdate_somDefaultConstVCopyInit *somTD_ooxdate_somDefaultConstVCopyInit;
  141. typedef ooxdate*   SOMLINK somTP_ooxdate_somDefaultConstAssign(ooxdate *somSelf, 
  142.         som3AssignCtrl* ctrl, 
  143.         SOMObject* fromObj);
  144. typedef somTP_ooxdate_somDefaultConstAssign *somTD_ooxdate_somDefaultConstAssign;
  145. typedef ooxdate*   SOMLINK somTP_ooxdate_somDefaultVAssign(ooxdate *somSelf, 
  146.         som3AssignCtrl* ctrl, 
  147.         SOMObject* fromObj);
  148. typedef somTP_ooxdate_somDefaultVAssign *somTD_ooxdate_somDefaultVAssign;
  149. typedef ooxdate*   SOMLINK somTP_ooxdate_somDefaultConstVAssign(ooxdate *somSelf, 
  150.         som3AssignCtrl* ctrl, 
  151.         SOMObject* fromObj);
  152. typedef somTP_ooxdate_somDefaultConstVAssign *somTD_ooxdate_somDefaultConstVAssign;
  153. typedef void   SOMLINK somTP_ooxdate_somInit(ooxdate *somSelf);
  154. typedef somTP_ooxdate_somInit *somTD_ooxdate_somInit;
  155. typedef void   SOMLINK somTP_ooxdate_somFree(ooxdate *somSelf);
  156. typedef somTP_ooxdate_somFree *somTD_ooxdate_somFree;
  157. typedef SOMClass*   SOMLINK somTP_ooxdate_somGetClass(ooxdate *somSelf);
  158. typedef somTP_ooxdate_somGetClass *somTD_ooxdate_somGetClass;
  159. typedef string   SOMLINK somTP_ooxdate_somGetClassName(ooxdate *somSelf);
  160. typedef somTP_ooxdate_somGetClassName *somTD_ooxdate_somGetClassName;
  161. typedef long   SOMLINK somTP_ooxdate_somGetSize(ooxdate *somSelf);
  162. typedef somTP_ooxdate_somGetSize *somTD_ooxdate_somGetSize;
  163. typedef boolean   SOMLINK somTP_ooxdate_somIsA(ooxdate *somSelf, 
  164.         SOMClass* aClassObj);
  165. typedef somTP_ooxdate_somIsA *somTD_ooxdate_somIsA;
  166. typedef boolean   SOMLINK somTP_ooxdate_somIsInstanceOf(ooxdate *somSelf, 
  167.         SOMClass* aClassObj);
  168. typedef somTP_ooxdate_somIsInstanceOf *somTD_ooxdate_somIsInstanceOf;
  169. typedef boolean   SOMLINK somTP_ooxdate_somRespondsTo(ooxdate *somSelf, 
  170.         somId mId);
  171. typedef somTP_ooxdate_somRespondsTo *somTD_ooxdate_somRespondsTo;
  172. typedef boolean   SOMLINK somTP_ooxdate_somDispatch(ooxdate *somSelf, 
  173.         somToken* retValue, 
  174.         somId methodId, 
  175.         va_list ap);
  176. typedef somTP_ooxdate_somDispatch *somTD_ooxdate_somDispatch;
  177. typedef boolean   SOMLINK somTP_ooxdate_somClassDispatch(ooxdate *somSelf, 
  178.         SOMClass* clsObj, 
  179.         somToken* retValue, 
  180.         somId methodId, 
  181.         va_list ap);
  182. typedef somTP_ooxdate_somClassDispatch *somTD_ooxdate_somClassDispatch;
  183. typedef boolean   SOMLINK somTP_ooxdate_somCastObj(ooxdate *somSelf, 
  184.         SOMClass* cls);
  185. typedef somTP_ooxdate_somCastObj *somTD_ooxdate_somCastObj;
  186. typedef boolean   SOMLINK somTP_ooxdate_somResetObj(ooxdate *somSelf);
  187. typedef somTP_ooxdate_somResetObj *somTD_ooxdate_somResetObj;
  188. typedef void   SOMLINK somTP_ooxdate_somDispatchV(ooxdate *somSelf, 
  189.         somId methodId, 
  190.         somId descriptor, 
  191.         va_list ap);
  192. typedef somTP_ooxdate_somDispatchV *somTD_ooxdate_somDispatchV;
  193. typedef long   SOMLINK somTP_ooxdate_somDispatchL(ooxdate *somSelf, 
  194.         somId methodId, 
  195.         somId descriptor, 
  196.         va_list ap);
  197. typedef somTP_ooxdate_somDispatchL *somTD_ooxdate_somDispatchL;
  198. typedef void*   SOMLINK somTP_ooxdate_somDispatchA(ooxdate *somSelf, 
  199.         somId methodId, 
  200.         somId descriptor, 
  201.         va_list ap);
  202. typedef somTP_ooxdate_somDispatchA *somTD_ooxdate_somDispatchA;
  203. typedef double   SOMLINK somTP_ooxdate_somDispatchD(ooxdate *somSelf, 
  204.         somId methodId, 
  205.         somId descriptor, 
  206.         va_list ap);
  207. typedef somTP_ooxdate_somDispatchD *somTD_ooxdate_somDispatchD;
  208. typedef SOMObject*   SOMLINK somTP_ooxdate_somPrintSelf(ooxdate *somSelf);
  209. typedef somTP_ooxdate_somPrintSelf *somTD_ooxdate_somPrintSelf;
  210. typedef void   SOMLINK somTP_ooxdate_somDumpSelf(ooxdate *somSelf, 
  211.         long level);
  212. typedef somTP_ooxdate_somDumpSelf *somTD_ooxdate_somDumpSelf;
  213. typedef void   SOMLINK somTP_ooxdate_somDumpSelfInt(ooxdate *somSelf, 
  214.         long level);
  215. typedef somTP_ooxdate_somDumpSelfInt *somTD_ooxdate_somDumpSelfInt;
  216. }
  217.  
  218. #endif /* ooxdate_API */
  219.  
  220.  
  221. /*
  222.  * -- This emitter treats Method Tokens as Thunks by default.
  223.  * -- Use the sc modifier "nothunks" to change this default
  224.  */
  225. #undef somresolve_
  226. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  227.  
  228. /*
  229.  * -- The C++ Wrapper Class for ooxdate
  230.  */
  231. class ooxdate : public ooxfield
  232. {
  233. /*
  234.  * Symbol parentComment is undefined
  235.  */
  236. public:
  237.  
  238. // ooxdate::new creates the class object if necessary, and then uses somNewNoInit
  239. // to allocate memory and create the object. Initialization is in ctors.
  240. void *operator new(size_t)
  241. {
  242.    if (!_ooxdate) ooxdateNewClass(ooxdate_MajorVersion,ooxdate_MinorVersion);
  243.    return (void*)
  244.       SOM_Resolve(_ooxdate,SOMClass,somNewNoInit)
  245.          ((SOMClass *)((void*)_ooxdate));
  246. }
  247.  
  248. // ooxdate::delete uses somDestruct.
  249. void operator delete(void * obj)
  250. {
  251.    if (obj && *(void**)obj) {
  252.       SOM_Resolve(obj,SOMObject,somFree)
  253.          ((SOMObject*)obj);
  254.    }
  255. }
  256.  
  257. ooxdate& operator=(ooxdate& fromObj)
  258. {
  259.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  260.    return *this;
  261. }
  262.  
  263. ooxdate()
  264. {
  265.    if (*(void**)this != 
  266.        ((somParentMtabStructPtr)
  267.         (ooxdateCClassData.parentMtab))->mtab)
  268.       return;
  269.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  270. }
  271.  
  272. ooxdate(ooxdate* fromObj)
  273. {
  274.    if (*(void**)this != 
  275.        ((somParentMtabStructPtr)
  276.         (ooxdateCClassData.parentMtab))->mtab)
  277.       return;
  278.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  279. }
  280.  
  281. #ifdef __IBMCPP__
  282. #pragma info(nocnv,nopar)
  283. #endif
  284. ooxdate(const ooxdate* fromObj)
  285. {
  286.    if (*(void**)this != 
  287.        ((somParentMtabStructPtr)
  288.         (ooxdateCClassData.parentMtab))->mtab)
  289.       return;
  290.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  291. }
  292. #ifdef __IBMCPP__
  293. #pragma info(restore)
  294. #endif
  295.  
  296. ooxdate(string name) 
  297. {
  298.    define(0,name);
  299. }
  300.  
  301.  
  302. /* initializer method: define */
  303. void   define(somInitCtrl* ctrl, 
  304.         string name)
  305. {
  306.    SOM_ResolveD(this,ooxdate,ooxdate,define)
  307.     (this,ctrl,name);
  308. }
  309.  
  310.  
  311. /* method: get_month */
  312. short   get_month()
  313. {
  314.    return SOM_ResolveD(this,ooxdate,ooxdate,get_month)
  315.     (this);
  316. }
  317.  
  318.  
  319. /* method: get_day */
  320. short   get_day()
  321. {
  322.    return SOM_ResolveD(this,ooxdate,ooxdate,get_day)
  323.     (this);
  324. }
  325.  
  326.  
  327. /* method: get_year */
  328. short   get_year()
  329. {
  330.    return SOM_ResolveD(this,ooxdate,ooxdate,get_year)
  331.     (this);
  332. }
  333.  
  334.  
  335. /* method: put_month */
  336. void   put_month(short month)
  337. {
  338.    SOM_ResolveD(this,ooxdate,ooxdate,put_month)
  339.     (this,month);
  340. }
  341.  
  342.  
  343. /* method: put_day */
  344. void   put_day(short day)
  345. {
  346.    SOM_ResolveD(this,ooxdate,ooxdate,put_day)
  347.     (this,day);
  348. }
  349.  
  350.  
  351. /* method: put_year */
  352. void   put_year(short year)
  353. {
  354.    SOM_ResolveD(this,ooxdate,ooxdate,put_year)
  355.     (this,year);
  356. }
  357.  
  358.  
  359. /*
  360.  * Reintroduce inherited methods
  361.  */
  362.  
  363. /* method: get_name */
  364. string   get_name()
  365. {
  366.    return SOM_ResolveD(this,ooxdate,ooxfield,get_name)
  367.     (this);
  368. }
  369.  
  370.  
  371. /* method: get */
  372. string   get()
  373. {
  374.    return SOM_ResolveD(this,ooxdate,ooxfield,get)
  375.     (this);
  376. }
  377.  
  378.  
  379. /* method: put */
  380. long   put(string datum)
  381. {
  382.    return SOM_ResolveD(this,ooxdate,ooxfield,put)
  383.     (this,datum);
  384. }
  385.  
  386.  
  387. /* method: get_type */
  388. char   get_type()
  389. {
  390.    return SOM_ResolveD(this,ooxdate,ooxfield,get_type)
  391.     (this);
  392. }
  393.  
  394.  
  395. /* method: get_length */
  396. short   get_length()
  397. {
  398.    return SOM_ResolveD(this,ooxdate,ooxfield,get_length)
  399.     (this);
  400. }
  401.  
  402.  
  403. /* method: get_dec_point */
  404. short   get_dec_point()
  405. {
  406.    return SOM_ResolveD(this,ooxdate,ooxfield,get_dec_point)
  407.     (this);
  408. }
  409.  
  410.  
  411. /* initializer method: somDefaultInit */
  412. void   somDefaultInit(som3InitCtrl* ctrl)
  413. {
  414.    SOM_ResolveD(this,ooxdate,SOMObject,somDefaultInit)
  415.     (this,ctrl);
  416. }
  417.  
  418.  
  419. /* method: somUninit */
  420. void   somUninit()
  421. {
  422.    SOM_ResolveD(this,ooxdate,SOMObject,somUninit)
  423.     (this);
  424. }
  425.  
  426.  
  427. /* method: somDestruct */
  428. void   somDestruct(octet doFree, 
  429.         som3DestructCtrl* ctrl)
  430. {
  431. /*
  432.  *  The default destructor for a SOM object. A nonzero <doFree>
  433.  *  indicates that the object storage should be freed by the
  434.  *  object's class (via somDeallocate) after uninitialization.
  435.  *  As with somDefaultInit, a null ctrl can be passed.
  436.  */
  437.    SOM_ResolveD(this,ooxdate,SOMObject,somDestruct)
  438.     (this,doFree,ctrl);
  439. }
  440.  
  441.  
  442. /* initializer method: somDefaultCopyInit */
  443. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  444.         SOMObject* fromObj)
  445. {
  446. /*
  447.  *  A default copy constructor. Use this to make copies of objects for
  448.  *  calling methods with "by-value" argument semantics.
  449.  */
  450.    SOM_ResolveD(this,ooxdate,SOMObject,somDefaultCopyInit)
  451.     (this,ctrl,fromObj);
  452. }
  453.  
  454.  
  455. /* method: somDefaultAssign */
  456. ooxdate*  somDefaultAssign(som3AssignCtrl* ctrl, 
  457.         SOMObject* fromObj)
  458. {
  459. /*
  460.  *  A default assignment operator. Use this to "assign" the state of one
  461.  *  object to another.
  462.  */
  463.    return SOM_ResolveD(this,ooxdate,SOMObject,somDefaultAssign)
  464.     (this,ctrl,fromObj);
  465. }
  466.  
  467.  
  468. /* initializer method: somDefaultConstCopyInit */
  469. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  470.         SOMObject* fromObj)
  471. {
  472. /*
  473.  *  A default copy constructor that uses a const fromObj.
  474.  */
  475.    SOM_ResolveD(this,ooxdate,SOMObject,somDefaultConstCopyInit)
  476.     (this,ctrl,fromObj);
  477. }
  478.  
  479.  
  480. /* initializer method: somDefaultVCopyInit */
  481. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  482.         SOMObject* fromObj)
  483. {
  484. /*
  485.  *  A default copy constructor that uses a volatile fromObj.
  486.  */
  487.    SOM_ResolveD(this,ooxdate,SOMObject,somDefaultVCopyInit)
  488.     (this,ctrl,fromObj);
  489. }
  490.  
  491.  
  492. /* initializer method: somDefaultConstVCopyInit */
  493. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  494.         SOMObject* fromObj)
  495. {
  496. /*
  497.  *  A default copy constructor that uses a const volatile fromObj.
  498.  */
  499.    SOM_ResolveD(this,ooxdate,SOMObject,somDefaultConstVCopyInit)
  500.     (this,ctrl,fromObj);
  501. }
  502.  
  503.  
  504. /* method: somDefaultConstAssign */
  505. ooxdate*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  506.         SOMObject* fromObj)
  507. {
  508. /*
  509.  *  A default assignment operator that uses a const fromObj.
  510.  */
  511.    return SOM_ResolveD(this,ooxdate,SOMObject,somDefaultConstAssign)
  512.     (this,ctrl,fromObj);
  513. }
  514.  
  515.  
  516. /* method: somDefaultVAssign */
  517. ooxdate*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  518.         SOMObject* fromObj)
  519. {
  520. /*
  521.  *  A default assignment operator that uses a volatile fromObj.
  522.  */
  523.    return SOM_ResolveD(this,ooxdate,SOMObject,somDefaultVAssign)
  524.     (this,ctrl,fromObj);
  525. }
  526.  
  527.  
  528. /* method: somDefaultConstVAssign */
  529. ooxdate*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  530.         SOMObject* fromObj)
  531. {
  532. /*
  533.  *  A default assignment operator that uses a const volatile fromObj.
  534.  */
  535.    return SOM_ResolveD(this,ooxdate,SOMObject,somDefaultConstVAssign)
  536.     (this,ctrl,fromObj);
  537. }
  538.  
  539.  
  540. /* method: somInit */
  541. void   somInit()
  542. {
  543. /*
  544.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  545.  */
  546.    SOM_ResolveD(this,ooxdate,SOMObject,somInit)
  547.     (this);
  548. }
  549.  
  550.  
  551. /* method: somFree */
  552. void   somFree()
  553. {
  554. /*
  555.  *  Use as directed by framework implementations.
  556.  */
  557.    SOM_ResolveD(this,ooxdate,SOMObject,somFree)
  558.     (this);
  559. }
  560.  
  561.  
  562. /* method: somGetClass */
  563. SOMClass*   somGetClass()
  564. {
  565. /*
  566.  *  Return the receiver's class.
  567.  */
  568.    return SOM_ResolveD(this,ooxdate,SOMObject,somGetClass)
  569.     (this);
  570. }
  571.  
  572.  
  573. /* method: somGetClassName */
  574. string   somGetClassName()
  575. {
  576. /*
  577.  *  Return the name of the receiver's class.
  578.  */
  579.    return SOM_ResolveD(this,ooxdate,SOMObject,somGetClassName)
  580.     (this);
  581. }
  582.  
  583.  
  584. /* method: somGetSize */
  585. long   somGetSize()
  586. {
  587. /*
  588.  *  Return the size of the receiver.
  589.  */
  590.    return SOM_ResolveD(this,ooxdate,SOMObject,somGetSize)
  591.     (this);
  592. }
  593.  
  594.  
  595. /* method: somIsA */
  596. boolean   somIsA(SOMClass* aClassObj)
  597. {
  598. /*
  599.  *  Returns 1 (true) if the receiver responds to methods
  600.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  601.  */
  602.    return SOM_ResolveD(this,ooxdate,SOMObject,somIsA)
  603.     (this,aClassObj);
  604. }
  605.  
  606.  
  607. /* method: somIsInstanceOf */
  608. boolean   somIsInstanceOf(SOMClass* aClassObj)
  609. {
  610. /*
  611.  *  Returns 1 (true) if the receiver is an instance of
  612.  *  <aClassObj> and 0 (false) otherwise.
  613.  */
  614.    return SOM_ResolveD(this,ooxdate,SOMObject,somIsInstanceOf)
  615.     (this,aClassObj);
  616. }
  617.  
  618.  
  619. /* method: somRespondsTo */
  620. boolean   somRespondsTo(somId mId)
  621. {
  622. /*
  623.  *  Returns 1 (true) if the indicated method can be invoked
  624.  *  on the receiver and 0 (false) otherwise.
  625.  */
  626.    return SOM_ResolveD(this,ooxdate,SOMObject,somRespondsTo)
  627.     (this,mId);
  628. }
  629.  
  630.  
  631. /* va_list method: somDispatch */
  632.  
  633. /*
  634.  *  This method provides a generic, class-specific dispatch mechanism.
  635.  *  It accepts as input <retValue> a pointer to the memory area to be
  636.  *  loaded with the result of dispatching the method indicated by
  637.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  638.  *  on which the method is to be invoked as the first argument.
  639.  */
  640. /* the va_list invocation form */
  641. boolean   ooxdate_somDispatch(somToken* retValue, 
  642.         somId methodId, 
  643.         va_list ap)
  644. {return SOM_ResolveD(this,ooxdate,SOMObject,somDispatch)
  645.     (this,retValue,methodId,ap);
  646. }
  647.  
  648. /* the varargs invocation form */
  649. boolean   somDispatch(somToken* retValue, 
  650.         somId methodId, 
  651.         ...)
  652. {
  653. /*
  654.  *  This method provides a generic, class-specific dispatch mechanism.
  655.  *  It accepts as input <retValue> a pointer to the memory area to be
  656.  *  loaded with the result of dispatching the method indicated by
  657.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  658.  *  on which the method is to be invoked as the first argument.
  659.  */
  660.    va_list ap;
  661.    va_start(ap, methodId);
  662.    boolean __somResult = 
  663.       SOM_ResolveD(this,ooxdate,SOMObject,somDispatch)
  664.     (this,retValue,methodId,ap);
  665.    va_end(ap);
  666.    return __somResult;
  667. }
  668.  
  669.  
  670. /* va_list method: somClassDispatch */
  671.  
  672. /*
  673.  *  Like somDispatch, but method resolution for static methods is done
  674.  *  according to the clsObj instance method table.
  675.  */
  676. /* the va_list invocation form */
  677. boolean   ooxdate_somClassDispatch(SOMClass* clsObj, 
  678.         somToken* retValue, 
  679.         somId methodId, 
  680.         va_list ap)
  681. {return SOM_ResolveD(this,ooxdate,SOMObject,somClassDispatch)
  682.     (this,clsObj,retValue,methodId,ap);
  683. }
  684.  
  685. /* the varargs invocation form */
  686. boolean   somClassDispatch(SOMClass* clsObj, 
  687.         somToken* retValue, 
  688.         somId methodId, 
  689.         ...)
  690. {
  691. /*
  692.  *  Like somDispatch, but method resolution for static methods is done
  693.  *  according to the clsObj instance method table.
  694.  */
  695.    va_list ap;
  696.    va_start(ap, methodId);
  697.    boolean __somResult = 
  698.       SOM_ResolveD(this,ooxdate,SOMObject,somClassDispatch)
  699.     (this,clsObj,retValue,methodId,ap);
  700.    va_end(ap);
  701.    return __somResult;
  702. }
  703.  
  704.  
  705. /* method: somCastObj */
  706. boolean   somCastObj(SOMClass* cls)
  707. {
  708. /*
  709.  *  cast the receiving object to cls (which must be an ancestor of the
  710.  *  objects true class. Returns true on success.
  711.  */
  712.    return SOM_ResolveD(this,ooxdate,SOMObject,somCastObj)
  713.     (this,cls);
  714. }
  715.  
  716.  
  717. /* method: somResetObj */
  718. boolean   somResetObj()
  719. {
  720. /*
  721.  *  reset an object to its true class. Returns true always.
  722.  */
  723.    return SOM_ResolveD(this,ooxdate,SOMObject,somResetObj)
  724.     (this);
  725. }
  726.  
  727.  
  728. /* va_list method: somDispatchV */
  729.  
  730. /*
  731.  *  Obsolete. Use somDispatch instead.
  732.  */
  733. /* the va_list invocation form */
  734. void   ooxdate_somDispatchV(somId methodId, 
  735.         somId descriptor, 
  736.         va_list ap)
  737. {   SOM_ResolveD(this,ooxdate,SOMObject,somDispatchV)
  738.     (this,methodId,descriptor,ap);
  739. }
  740.  
  741. /* the varargs invocation form */
  742. void   somDispatchV(somId methodId, 
  743.         somId descriptor, 
  744.         ...)
  745. {
  746. /*
  747.  *  Obsolete. Use somDispatch instead.
  748.  */
  749.    va_list ap;
  750.    va_start(ap, descriptor);
  751.    SOM_ResolveD(this,ooxdate,SOMObject,somDispatchV)
  752.     (this,methodId,descriptor,ap);
  753.    va_end(ap);
  754. }
  755.  
  756.  
  757. /* va_list method: somDispatchL */
  758.  
  759. /*
  760.  *  Obsolete. Use somDispatch instead.
  761.  */
  762. /* the va_list invocation form */
  763. long   ooxdate_somDispatchL(somId methodId, 
  764.         somId descriptor, 
  765.         va_list ap)
  766. {return SOM_ResolveD(this,ooxdate,SOMObject,somDispatchL)
  767.     (this,methodId,descriptor,ap);
  768. }
  769.  
  770. /* the varargs invocation form */
  771. long   somDispatchL(somId methodId, 
  772.         somId descriptor, 
  773.         ...)
  774. {
  775. /*
  776.  *  Obsolete. Use somDispatch instead.
  777.  */
  778.    va_list ap;
  779.    va_start(ap, descriptor);
  780.    long __somResult = 
  781.       SOM_ResolveD(this,ooxdate,SOMObject,somDispatchL)
  782.     (this,methodId,descriptor,ap);
  783.    va_end(ap);
  784.    return __somResult;
  785. }
  786.  
  787.  
  788. /* va_list method: somDispatchA */
  789.  
  790. /*
  791.  *  Obsolete. Use somDispatch instead.
  792.  */
  793. /* the va_list invocation form */
  794. void*   ooxdate_somDispatchA(somId methodId, 
  795.         somId descriptor, 
  796.         va_list ap)
  797. {return SOM_ResolveD(this,ooxdate,SOMObject,somDispatchA)
  798.     (this,methodId,descriptor,ap);
  799. }
  800.  
  801. /* the varargs invocation form */
  802. void*   somDispatchA(somId methodId, 
  803.         somId descriptor, 
  804.         ...)
  805. {
  806. /*
  807.  *  Obsolete. Use somDispatch instead.
  808.  */
  809.    va_list ap;
  810.    va_start(ap, descriptor);
  811.    void* __somResult = 
  812.       SOM_ResolveD(this,ooxdate,SOMObject,somDispatchA)
  813.     (this,methodId,descriptor,ap);
  814.    va_end(ap);
  815.    return __somResult;
  816. }
  817.  
  818.  
  819. /* va_list method: somDispatchD */
  820.  
  821. /*
  822.  *  Obsolete. Use somDispatch instead.
  823.  */
  824. /* the va_list invocation form */
  825. double   ooxdate_somDispatchD(somId methodId, 
  826.         somId descriptor, 
  827.         va_list ap)
  828. {return SOM_ResolveD(this,ooxdate,SOMObject,somDispatchD)
  829.     (this,methodId,descriptor,ap);
  830. }
  831.  
  832. /* the varargs invocation form */
  833. double   somDispatchD(somId methodId, 
  834.         somId descriptor, 
  835.         ...)
  836. {
  837. /*
  838.  *  Obsolete. Use somDispatch instead.
  839.  */
  840.    va_list ap;
  841.    va_start(ap, descriptor);
  842.    double __somResult = 
  843.       SOM_ResolveD(this,ooxdate,SOMObject,somDispatchD)
  844.     (this,methodId,descriptor,ap);
  845.    va_end(ap);
  846.    return __somResult;
  847. }
  848.  
  849.  
  850. /* method: somPrintSelf */
  851. SOMObject*   somPrintSelf()
  852. {
  853. /*
  854.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  855.  *  information about this object.  The default implementation just gives
  856.  *  the object's class name and its address in memory.
  857.  *  <self> is returned.
  858.  */
  859.    return SOM_ResolveD(this,ooxdate,SOMObject,somPrintSelf)
  860.     (this);
  861. }
  862.  
  863.  
  864. /* method: somDumpSelf */
  865. void   somDumpSelf(long level)
  866. {
  867. /*
  868.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  869.  *  and its current state.
  870.  * 
  871.  *  <level> indicates the nesting level for describing compound objects
  872.  *  it must be greater than or equal to zero.  All lines in the
  873.  *  description will be preceeded by <2*level> spaces.
  874.  * 
  875.  *  This routine only actually writes the data that concerns the object
  876.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  877.  *  the object's current state.  This approach allows readable
  878.  *  descriptions of compound objects to be constructed.
  879.  * 
  880.  *  Generally it is not necessary to override this method, if it is
  881.  *  overriden it generally must be completely replaced.
  882.  */
  883.    SOM_ResolveD(this,ooxdate,SOMObject,somDumpSelf)
  884.     (this,level);
  885. }
  886.  
  887.  
  888. /* method: somDumpSelfInt */
  889. void   somDumpSelfInt(long level)
  890. {
  891. /*
  892.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  893.  *  Generally this method will need to be overridden.  When overriding
  894.  *  it, begin by calling the parent class form of this method and then
  895.  *  write in a description of your class's instance data. This will
  896.  *  result in a description of all the object's instance data going
  897.  *  from its root ancestor class to its specific class.
  898.  */
  899.    SOM_ResolveD(this,ooxdate,SOMObject,somDumpSelfInt)
  900.     (this,level);
  901. }
  902.  
  903.  
  904.  
  905. };   /* ooxdate */
  906.  
  907.  
  908.  
  909. #endif       /* SOM_ooxdate_xh */
  910.